.TH std::basic_string::operatorbasic_string_view 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::basic_string::operatorbasic_string_view \- std::basic_string::operatorbasic_string_view

.SH Synopsis
   operator std::basic_string_view<CharT, Traits>() const       \fI(since C++17)\fP
   noexcept;                                                    (constexpr since C++20)

   Returns a std::basic_string_view, constructed as if by std::basic_string_view<CharT,
   Traits>(data(), size()).

.SH Parameters

   \fI(none)\fP

.SH Return value

   A string view representing the entire contents of the string.

.SH Notes

   It is the programmer's responsibility to ensure that the resulting string view does
   not outlive the string.

 std::string get_string();
 int f(std::string_view sv);

 int x = f(get_string()); // OK
 std::string_view sv = get_string(); // Bad: holds a dangling pointer

.SH Example


// Run this code

 #include <iostream>
 #include <string>
 #include <string_view>

 void show_wstring_size(std::wstring_view wcstr_v)
 {
     std::cout << wcstr_v.size() << " code points\\n";
 }

 int main()
 {
     std::string cppstr = "ラーメン";   // narrow string
     std::wstring wcstr = L"ラーメン";  // wide string

     // Implicit conversion from string to string_view
     // via std::string::operator string_view:
     std::string_view cppstr_v = cppstr;

     std::cout << cppstr_v << '\\n'
               << cppstr_v.size() << " code units\\n";

     // Implicit conversion from wstring to wstring_view
     // via std::wstring::operator wstring_view:
     show_wstring_size(wcstr);
 }

.SH Output:

 ラーメン
 12 code units
 4 code points

.SH See also

                 constructs a basic_string_view
   constructor   \fI(public member function of std::basic_string_view<CharT,Traits>)\fP

